
package com.shop.cloud.weixin.common.constant;

import me.chanjar.weixin.common.error.WxErrorException;

/**
 * 快速注册企业小程序状态码
 * @author
 *
 */
public enum WxFastRegistStatus {
	STATUS_0("0", "成功"){},
	STATUS_1("-1", "企业与法人姓名不一致"){},
	STATUS_101("101", "工商数据返回：“企业已注销”"){},
	STATUS_102("102", "工商数据返回：“企业不存在或企业信息未更新”"){},
	STATUS_103("103", "工商数据返回：“企业法定代表人姓名不一致”"){},
	STATUS_104("104", "工商数据返回：“企业法定代表人身份证号码不一致”"){},
	STATUS_105("105", "法定代表人身份证号码，工商数据未更新，请 5-15 个工作日之后尝试"){},
	STATUS_1000("1000", "工商数据返回：“企业信息或法定代表人信息不一致”"){},
	STATUS_1001("1001", "主体创建小程序数量达到上限"){},
	STATUS_1002("1002", "主体违规命中黑名单"){},
	STATUS_1003("1003", "管理员绑定账号数量达到上限"){},
	STATUS_1004("1004", "管理员违规命中黑名单"){},
	STATUS_1005("1005", "管理员手机绑定账号数量达到上限"){},
	STATUS_1006("1006", "管理员手机号违规命中黑名单"){},
	STATUS_1007("1007", "管理员身份证创建账号数量达到上限"){},
	STATUS_1008("1008", "管理员身份证违规命中黑名单"){},
	STATUS_100001("100001", "已下发的模板消息法人并未确认且已超时（24h），未进行身份证校验"){},
	STATUS_100002("100002", "已下发的模板消息法人并未确认且已超时（24h），未进行人脸识别校验"){},
	STATUS_100003("100003", "已下发的模板消息法人并未确认且已超时（24h）"){},
	;

	WxFastRegistStatus(String code, String msg) {
		this.code = code;
		this.msg = msg;
	}
	
    private String code;
    private String msg;

    /**
     * 通过code获取msg
     * @param code
     * @return
     */
    public static String getMsg(String code,WxErrorException wxError) {
		try {
			return WxFastRegistStatus.valueOf(code).getMsg();
		}catch (IllegalArgumentException e){
			return "微信码："+ code.replace("STATUS_","") + "；信息：" + wxError.getError().getErrorMsg();
		}
    }
    
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getMsg() {
		return msg;
	}
	public void setMsg(String msg) {
		this.msg = msg;
	}

}
